namespace Dalamud.Game.Text;

/// <summary>
/// Special unicode characters with game-related symbols that work both in-game and in any dalamud window.
/// </summary>
public enum SeIconChar
{
    /// <summary>
    /// The sprout icon unicode character.
    /// </summary>
    BotanistSprout = 0xE034,

    /// <summary>
    /// The item level icon unicode character.
    /// </summary>
    ItemLevel = 0xE033,

    /// <summary>
    /// The auto translate open icon unicode character.
    /// </summary>
    AutoTranslateOpen = 0xE040,

    /// <summary>
    /// The auto translate close icon unicode character.
    /// </summary>
    AutoTranslateClose = 0xE041,

    /// <summary>
    /// The high quality icon unicode character.
    /// </summary>
    HighQuality = 0xE03C,

    /// <summary>
    /// The collectible icon unicode character.
    /// </summary>
    Collectible = 0xE03D,

    /// <summary>
    /// The clock icon unicode character.
    /// </summary>
    Clock = 0xE031,

    /// <summary>
    /// The gil icon unicode character.
    /// </summary>
    Gil = 0xE049,

    /// <summary>
    /// The Hydaelyn icon unicode character.
    /// </summary>
    Hyadelyn = 0xE048,

    /// <summary>
    /// The no mouse click icon unicode character.
    /// </summary>
    MouseNoClick = 0xE050,

    /// <summary>
    /// The left mouse click icon unicode character.
    /// </summary>
    MouseLeftClick = 0xE051,

    /// <summary>
    /// The right mouse click icon unicode character.
    /// </summary>
    MouseRightClick = 0xE052,

    /// <summary>
    /// The left/right mouse click icon unicode character.
    /// </summary>
    MouseBothClick = 0xE053,

    /// <summary>
    /// The mouse wheel icon unicode character.
    /// </summary>
    MouseWheel = 0xE054,

    /// <summary>
    /// The mouse with a 1 icon unicode character.
    /// </summary>
    Mouse1 = 0xE055,

    /// <summary>
    /// The mouse with a 2 icon unicode character.
    /// </summary>
    Mouse2 = 0xE056,

    /// <summary>
    /// The mouse with a 3 icon unicode character.
    /// </summary>
    Mouse3 = 0xE057,

    /// <summary>
    /// The mouse with a 4 icon unicode character.
    /// </summary>
    Mouse4 = 0xE058,

    /// <summary>
    /// The mouse with a 5 icon unicode character.
    /// </summary>
    Mouse5 = 0xE059,

    /// <summary>
    /// The level English icon unicode character.
    /// </summary>
    LevelEn = 0xE06A,

    /// <summary>
    /// The level German icon unicode character.
    /// </summary>
    LevelDe = 0xE06B,

    /// <summary>
    /// The level French icon unicode character.
    /// </summary>
    LevelFr = 0xE06C,

    /// <summary>
    /// The experience icon unicode character.
    /// </summary>
    Experience = 0xE0BC,

    /// <summary>
    /// The experience filled icon unicode character.
    /// </summary>
    ExperienceFilled = 0xE0BD,

    /// <summary>
    /// The A.M. time icon unicode character.
    /// </summary>
    TimeAm = 0xE06D,

    /// <summary>
    /// The P.M. time icon unicode character.
    /// </summary>
    TimePm = 0xE06E,

    /// <summary>
    /// The right arrow icon unicode character.
    /// </summary>
    ArrowRight = 0xE06F,

    /// <summary>
    /// The down arrow  icon unicode character.
    /// </summary>
    ArrowDown = 0xE035,

    /// <summary>
    /// The number 0 icon unicode character.
    /// </summary>
    Number0 = 0xE060,

    /// <summary>
    /// The number 1 icon unicode character.
    /// </summary>
    Number1 = 0xE061,

    /// <summary>
    /// The number 2 icon unicode character.
    /// </summary>
    Number2 = 0xE062,

    /// <summary>
    /// The number 3 icon unicode character.
    /// </summary>
    Number3 = 0xE063,

    /// <summary>
    /// The number 4 icon unicode character.
    /// </summary>
    Number4 = 0xE064,

    /// <summary>
    /// The number 5 icon unicode character.
    /// </summary>
    Number5 = 0xE065,

    /// <summary>
    /// The number 6 icon unicode character.
    /// </summary>
    Number6 = 0xE066,

    /// <summary>
    /// The number 7 icon unicode character.
    /// </summary>
    Number7 = 0xE067,

    /// <summary>
    /// The number 8 icon unicode character.
    /// </summary>
    Number8 = 0xE068,

    /// <summary>
    /// The number 9 icon unicode character.
    /// </summary>
    Number9 = 0xE069,

    /// <summary>
    /// The boxed number 0 icon unicode character.
    /// </summary>
    BoxedNumber0 = 0xE08F,

    /// <summary>
    /// The boxed number 1 icon unicode character.
    /// </summary>
    BoxedNumber1 = 0xE090,

    /// <summary>
    /// The boxed number 2 icon unicode character.
    /// </summary>
    BoxedNumber2 = 0xE091,

    /// <summary>
    /// The boxed number 3 icon unicode character.
    /// </summary>
    BoxedNumber3 = 0xE092,

    /// <summary>
    /// The boxed number 4 icon unicode character.
    /// </summary>
    BoxedNumber4 = 0xE093,

    /// <summary>
    /// The boxed number 5 icon unicode character.
    /// </summary>
    BoxedNumber5 = 0xE094,

    /// <summary>
    /// The boxed number 6 icon unicode character.
    /// </summary>
    BoxedNumber6 = 0xE095,

    /// <summary>
    /// The boxed number 7 icon unicode character.
    /// </summary>
    BoxedNumber7 = 0xE096,

    /// <summary>
    /// The boxed number 8 icon unicode character.
    /// </summary>
    BoxedNumber8 = 0xE097,

    /// <summary>
    /// The boxed number 9 icon unicode character.
    /// </summary>
    BoxedNumber9 = 0xE098,

    /// <summary>
    /// The boxed number 10 icon unicode character.
    /// </summary>
    BoxedNumber10 = 0xE099,

    /// <summary>
    /// The boxed number 11 icon unicode character.
    /// </summary>
    BoxedNumber11 = 0xE09A,

    /// <summary>
    /// The boxed number 12 icon unicode character.
    /// </summary>
    BoxedNumber12 = 0xE09B,

    /// <summary>
    /// The boxed number 13 icon unicode character.
    /// </summary>
    BoxedNumber13 = 0xE09C,

    /// <summary>
    /// The boxed number 14 icon unicode character.
    /// </summary>
    BoxedNumber14 = 0xE09D,

    /// <summary>
    /// The boxed number 15 icon unicode character.
    /// </summary>
    BoxedNumber15 = 0xE09E,

    /// <summary>
    /// The boxed number 16 icon unicode character.
    /// </summary>
    BoxedNumber16 = 0xE09F,

    /// <summary>
    /// The boxed number 17 icon unicode character.
    /// </summary>
    BoxedNumber17 = 0xE0A0,

    /// <summary>
    /// The boxed number 18 icon unicode character.
    /// </summary>
    BoxedNumber18 = 0xE0A1,

    /// <summary>
    /// The boxed number 19 icon unicode character.
    /// </summary>
    BoxedNumber19 = 0xE0A2,

    /// <summary>
    /// The boxed number 20 icon unicode character.
    /// </summary>
    BoxedNumber20 = 0xE0A3,

    /// <summary>
    /// The boxed number 21 icon unicode character.
    /// </summary>
    BoxedNumber21 = 0xE0A4,

    /// <summary>
    /// The boxed number 22 icon unicode character.
    /// </summary>
    BoxedNumber22 = 0xE0A5,

    /// <summary>
    /// The boxed number 23 icon unicode character.
    /// </summary>
    BoxedNumber23 = 0xE0A6,

    /// <summary>
    /// The boxed number 24 icon unicode character.
    /// </summary>
    BoxedNumber24 = 0xE0A7,

    /// <summary>
    /// The boxed number 25 icon unicode character.
    /// </summary>
    BoxedNumber25 = 0xE0A8,

    /// <summary>
    /// The boxed number 26 icon unicode character.
    /// </summary>
    BoxedNumber26 = 0xE0A9,

    /// <summary>
    /// The boxed number 27 icon unicode character.
    /// </summary>
    BoxedNumber27 = 0xE0AA,

    /// <summary>
    /// The boxed number 28 icon unicode character.
    /// </summary>
    BoxedNumber28 = 0xE0AB,

    /// <summary>
    /// The boxed number 29 icon unicode character.
    /// </summary>
    BoxedNumber29 = 0xE0AC,

    /// <summary>
    /// The boxed number 30 icon unicode character.
    /// </summary>
    BoxedNumber30 = 0xE0AD,

    /// <summary>
    /// The boxed number 31 icon unicode character.
    /// </summary>
    BoxedNumber31 = 0xE0AE,

    /// <summary>
    /// The boxed plus icon unicode character.
    /// </summary>
    BoxedPlus = 0xE0AF,

    /// <summary>
    /// The bosed question mark icon unicode character.
    /// </summary>
    BoxedQuestionMark = 0xE070,

    /// <summary>
    /// The boxed star icon unicode character.
    /// </summary>
    BoxedStar = 0xE0C0,

    /// <summary>
    /// The boxed Roman numeral 1 (I) icon unicode character.
    /// </summary>
    BoxedRoman1 = 0xE0C1,

    /// <summary>
    /// The boxed Roman numeral 2 (II) icon unicode character.
    /// </summary>
    BoxedRoman2 = 0xE0C2,

    /// <summary>
    /// The boxed Roman numeral 3 (III) icon unicode character.
    /// </summary>
    BoxedRoman3 = 0xE0C3,

    /// <summary>
    /// The boxed Roman numeral 4 (IV) icon unicode character.
    /// </summary>
    BoxedRoman4 = 0xE0C4,

    /// <summary>
    /// The boxed Roman numeral 5 (V) icon unicode character.
    /// </summary>
    BoxedRoman5 = 0xE0C5,

    /// <summary>
    /// The boxed Roman numeral 6 (VI) icon unicode character.
    /// </summary>
    BoxedRoman6 = 0xE0C6,

    /// <summary>
    /// The boxed letter A icon unicode character.
    /// </summary>
    BoxedLetterA = 0xE071,

    /// <summary>
    /// The boxed letter B icon unicode character.
    /// </summary>
    BoxedLetterB = 0xE072,

    /// <summary>
    /// The boxed letter C icon unicode character.
    /// </summary>
    BoxedLetterC = 0xE073,

    /// <summary>
    /// The boxed letter D icon unicode character.
    /// </summary>
    BoxedLetterD = 0xE074,

    /// <summary>
    /// The boxed letter E icon unicode character.
    /// </summary>
    BoxedLetterE = 0xE075,

    /// <summary>
    /// The boxed letter F icon unicode character.
    /// </summary>
    BoxedLetterF = 0xE076,

    /// <summary>
    /// The boxed letter G icon unicode character.
    /// </summary>
    BoxedLetterG = 0xE077,

    /// <summary>
    /// The boxed letter H icon unicode character.
    /// </summary>
    BoxedLetterH = 0xE078,

    /// <summary>
    /// The boxed letter I icon unicode character.
    /// </summary>
    BoxedLetterI = 0xE079,

    /// <summary>
    /// The boxed letter J icon unicode character.
    /// </summary>
    BoxedLetterJ = 0xE07A,

    /// <summary>
    /// The boxed letter K icon unicode character.
    /// </summary>
    BoxedLetterK = 0xE07B,

    /// <summary>
    /// The boxed letter L icon unicode character.
    /// </summary>
    BoxedLetterL = 0xE07C,

    /// <summary>
    /// The boxed letter M icon unicode character.
    /// </summary>
    BoxedLetterM = 0xE07D,

    /// <summary>
    /// The boxed letter N icon unicode character.
    /// </summary>
    BoxedLetterN = 0xE07E,

    /// <summary>
    /// The boxed letter O icon unicode character.
    /// </summary>
    BoxedLetterO = 0xE07F,

    /// <summary>
    /// The boxed letter P icon unicode character.
    /// </summary>
    BoxedLetterP = 0xE080,

    /// <summary>
    /// The boxed letter Q icon unicode character.
    /// </summary>
    BoxedLetterQ = 0xE081,

    /// <summary>
    /// The boxed letter R icon unicode character.
    /// </summary>
    BoxedLetterR = 0xE082,

    /// <summary>
    /// The boxed letter S icon unicode character.
    /// </summary>
    BoxedLetterS = 0xE083,

    /// <summary>
    /// The boxed letter T icon unicode character.
    /// </summary>
    BoxedLetterT = 0xE084,

    /// <summary>
    /// The boxed letter U icon unicode character.
    /// </summary>
    BoxedLetterU = 0xE085,

    /// <summary>
    /// The boxed letter V icon unicode character.
    /// </summary>
    BoxedLetterV = 0xE086,

    /// <summary>
    /// The boxed letter W icon unicode character.
    /// </summary>
    BoxedLetterW = 0xE087,

    /// <summary>
    /// The boxed letter X icon unicode character.
    /// </summary>
    BoxedLetterX = 0xE088,

    /// <summary>
    /// The boxed letter Y icon unicode character.
    /// </summary>
    BoxedLetterY = 0xE089,

    /// <summary>
    /// The boxed letter Z icon unicode character.
    /// </summary>
    BoxedLetterZ = 0xE08A,

    /// <summary>
    /// The circle icon unicode character.
    /// </summary>
    Circle = 0xE04A,

    /// <summary>
    /// The square icon unicode character.
    /// </summary>
    Square = 0xE04B,

    /// <summary>
    /// The cross icon unicode character.
    /// </summary>
    Cross = 0xE04C,

    /// <summary>
    /// The triangle icon unicode character.
    /// </summary>
    Triangle = 0xE04D,

    /// <summary>
    /// The hexagon icon unicode character.
    /// </summary>
    Hexagon = 0xE042,

    /// <summary>
    /// The no-circle/prohobited icon unicode character.
    /// </summary>
    Prohibited = 0xE043,

    /// <summary>
    /// The dice icon unicode character.
    /// </summary>
    Dice = 0xE03E,

    /// <summary>
    /// The debuff icon unicode character.
    /// </summary>
    Debuff = 0xE05B,

    /// <summary>
    /// The buff icon unicode character.
    /// </summary>
    Buff = 0xE05C,

    /// <summary>
    /// The cross-world icon unicode character.
    /// </summary>
    CrossWorld = 0xE05D,

    /// <summary>
    /// The Eureka level icon unicode character.
    /// </summary>
    EurekaLevel = 0xE03A,

    /// <summary>
    /// The link marker icon unicode character.
    /// </summary>
    LinkMarker = 0xE0BB,

    /// <summary>
    /// The glamoured icon unicode character.
    /// </summary>
    Glamoured = 0xE03B,

    /// <summary>
    /// The glamoured and dyed icon unicode character.
    /// </summary>
    GlamouredDyed = 0xE04E,

    /// <summary>
    /// The synced quest icon unicode character.
    /// </summary>
    QuestSync = 0xE0BE,

    /// <summary>
    /// The repeatable quest icon unicode character.
    /// </summary>
    QuestRepeatable = 0xE0BF,

    /// <summary>
    /// The [あ] character indicating that the Japanese IME is in full-width Hiragana input mode.
    /// </summary>
    /// <remarks>
    /// Half-width Hiragana exists as a Windows API constant, but the feature is unused, or at least unexposed to the end user via the IME.
    /// </remarks>
    ImeHiragana = 0xE020,

    /// <summary>
    /// The [ア] character indicating that the Japanese IME is in full-width Katakana input mode.
    /// </summary>
    ImeKatakana = 0xE021,

    /// <summary>
    /// The [Ａ] character indicating that Japanese or Korean IME is in full-width Latin character input mode.
    /// </summary>
    ImeAlphanumeric = 0xE022,

    /// <summary>
    /// The [_ｱ] character indicating that the Japanese IME is in half-width Katakana input mode.
    /// </summary>
    ImeKatakanaHalfWidth = 0xE023,

    /// <summary>
    /// The [_A] character indicating that Japanese or Korean IME is in half-width Latin character input mode.
    /// </summary>
    ImeAlphanumericHalfWidth = 0xE024,
    
    /// <summary>
    /// The [가] character indicating that the Korean IME is in Hangul input mode.
    /// </summary>
    /// <remarks>
    /// Use <see cref="ImeAlphanumeric"/> and <see cref="ImeAlphanumericHalfWidth"/> for alphanumeric input mode,
    /// toggled via Alt+=.
    /// </remarks>
    ImeKoreanHangul = 0xE025,

    /// <summary>
    /// The [中] character indicating that the Chinese IME is in Han character input mode.
    /// </summary>
    ImeChineseHan = 0xE026,
    
    /// <summary>
    /// The [英] character indicating that the Chinese IME is in Latin character input mode.
    /// </summary>
    ImeChineseLatin = 0xE027,

    /// <summary>
    /// The instance (1) icon unicode character.
    /// </summary>
    Instance1 = 0xE0B1,

    /// <summary>
    /// The instance (2) icon unicode character.
    /// </summary>
    Instance2 = 0xE0B2,

    /// <summary>
    /// The instance (3) icon unicode character.
    /// </summary>
    Instance3 = 0xE0B3,

    /// <summary>
    /// The instance (4) icon unicode character.
    /// </summary>
    Instance4 = 0xE0B4,

    /// <summary>
    /// The instance (5) icon unicode character.
    /// </summary>
    Instance5 = 0xE0B5,

    /// <summary>
    /// The instance (6) icon unicode character.
    /// </summary>
    Instance6 = 0xE0B6,

    /// <summary>
    /// The instance (7) icon unicode character.
    /// </summary>
    Instance7 = 0xE0B7,

    /// <summary>
    /// The instance (8) icon unicode character.
    /// </summary>
    Instance8 = 0xE0B8,

    /// <summary>
    /// The instance (9) icon unicode character.
    /// </summary>
    Instance9 = 0xE0B9,

    /// <summary>
    /// The instance merged icon unicode character.
    /// </summary>
    InstanceMerged = 0xE0BA,

    /// <summary>
    /// The English local time icon unicode character.
    /// </summary>
    LocalTimeEn = 0xE0D0,

    /// <summary>
    /// The English server time icon unicode character.
    /// </summary>
    ServerTimeEn = 0xE0D1,

    /// <summary>
    /// The English Eorzea time icon unicode character.
    /// </summary>
    EorzeaTimeEn = 0xE0D2,

    /// <summary>
    /// The German local time icon unicode character.
    /// </summary>
    LocalTimeDe = 0xE0D3,

    /// <summary>
    /// The German server time icon unicode character.
    /// </summary>
    ServerTimeDe = 0xE0D4,

    /// <summary>
    /// The German Eorzea time icon unicode character.
    /// </summary>
    EorzeaTimeDe = 0xE0D5,

    /// <summary>
    /// The French local time icon unicode character.
    /// </summary>
    LocalTimeFr = 0xE0D6,

    /// <summary>
    /// The French server time icon unicode character.
    /// </summary>
    ServerTimeFr = 0xE0D7,

    /// <summary>
    /// The French Eorzea time icon unicode character.
    /// </summary>
    EorzeaTimeFr = 0xE0D8,

    /// <summary>
    /// The Japanese local time icon unicode character.
    /// </summary>
    LocalTimeJa = 0xE0D9,

    /// <summary>
    /// The Japanese server time icon unicode character.
    /// </summary>
    ServerTimeJa = 0xE0DA,

    /// <summary>
    /// The Japanese Eorzea time icon unicode character.
    /// </summary>
    EorzeaTimeJa = 0xE0DB,

    /// <summary>
    /// The boxed, outlined number 0 icon unicode character.
    /// </summary>
    BoxedOutlinedNumber0 = 0xE0E0,

    /// <summary>
    /// The boxed, outlined number 1 icon unicode character.
    /// </summary>
    BoxedOutlinedNumber1 = 0xE0E1,

    /// <summary>
    /// The boxed, outlined number 2 icon unicode character.
    /// </summary>
    BoxedOutlinedNumber2 = 0xE0E2,

    /// <summary>
    /// The boxed, outlined number 3 icon unicode character.
    /// </summary>
    BoxedOutlinedNumber3 = 0xE0E3,

    /// <summary>
    /// The boxed, outlined number 4 icon unicode character.
    /// </summary>
    BoxedOutlinedNumber4 = 0xE0E4,

    /// <summary>
    /// The boxed, outlined number 5 icon unicode character.
    /// </summary>
    BoxedOutlinedNumber5 = 0xE0E5,

    /// <summary>
    /// The boxed, outlined number 6 icon unicode character.
    /// </summary>
    BoxedOutlinedNumber6 = 0xE0E6,

    /// <summary>
    /// The boxed, outlined number 7 icon unicode character.
    /// </summary>
    BoxedOutlinedNumber7 = 0xE0E7,

    /// <summary>
    /// The boxed, outlined number 8 icon unicode character.
    /// </summary>
    BoxedOutlinedNumber8 = 0xE0E8,

    /// <summary>
    /// The boxed, outlined number 9 icon unicode character.
    /// </summary>
    BoxedOutlinedNumber9 = 0xE0E9,
}
